package com.itheima.d11_generics_attention;

import java.util.ArrayList;

public class Test {
    public static void main(String[] args) {
        // 泛型擦除
        // 泛型信息只在编译阶段有效，在运行阶段会被擦除
        // 泛型擦除后，所有的泛型类都被当作Object处理
        ArrayList<String> list = new ArrayList<>();
        list.add("abc");
        // list.add(123); // 编译不通过，因为泛型擦除后，所有的泛型类都被当作Object处理了
        String s = (String) list.get(0);
        System.out.println(s);

        //擦除对象不支持基本数据类型，只能支持引用数据类型，如Integer，String等
        ArrayList<Integer> list1 = new ArrayList<>();
        list1.add(123);
        // list1.add(10); //编译不通过，因为泛型擦除后，所有的泛型类都被当作Object处理了
        Integer i = (Integer) list1.get(0);
        System.out.println(i);


    }
}
